import random as r

"""
python 可以多继承，在没有弄清楚每个被继承类是否有相同的属性和方法前，不要随便使用多继承。
否则会有不可预见的bug，而这个对于程序是灾难性的。

__init__相当于java的构造函数
类对象后面的括号里面是继承的对象

子类可以重写父类的方法，
__init__方法被重写，有些参数还要使用，可以使用super()调用父类
"""


class Fish:
    def __init__(self):
        self.x = r.randint(1, 10)
        self.y = r.randint(1, 10)

    def move(self):
        print("现在的位置： ", self.x, self.y)


class GoldFish(Fish):
    pass


class SanFish(Fish):
    pass


class Shark(Fish):
    def __init__(self):
        super().__init__()
        self.hungry = True
        print("我是一只鲨鱼")

    def eat(self):
        if (self.hungry):
            print("我大吃一顿")
            self.hungry = False


if __name__ == "__main__":
    f = Fish()
    f.move()

    g = GoldFish()
    g.move()

    s = SanFish()
    s.move()

    shark = Shark()
    shark.move()
    # shark.eat()
